Molecular diffusivity

PALEOaqchem.MolecularDiffusion.create_solute_diffusivity_funcFunction
create_solute_diffusivity_func(species_or_constant::AbstractString) -> f_diffcoeff

Molecular diffusivity for species_or_constant in water

Based on data compiled by (Boudreau, 1997) Ch. 4

If species_or_constant is a species name, returns a function f_diffcoeff, which calculates:

f_diffcoeff(TdegK, Pbar, S) -> Dmol (cm^2/s)

If species_or_constant can be parsed into a Float64, returns a function which provides this constant value (units cm^2/s).

The effect of pressure and salinity is approximated by assuming viscosity (calculated by MolecularDiffusion.sw_dynamic_viscosity) is the primary consideration, (Boudreau, 1997) eqn. 4.107 and Table 4.10.

Example

To test from the Julia REPL:

julia> PALEOaqchem.MolecularDiffusion.create_solute_diffusivity_func("O2")(273.15+25, 1.0, 35)
2.211824368650775e-5
source
PALEOaqchem.MolecularDiffusion.sw_dynamic_viscosityFunction
sw_dynamic_viscosity(TdegC, Pbar, S) -> mu

Seawater dynamic viscosity ((Boudreau, 1997) p94) 'claimed to accurate to within 7% over T (0 - 30C), P (1 - 1000 bar), S (0 36)'

Returns mu (10^-2 g/cm/s) (centipoise)

Arguments:

  • T: deg C (0 - 30C) temperature
  • P: bar (1 1000) pressure
  • S: salinity (0 - 36)

See check values for salinity effect Table 4.10 p.125

source
PALEOaqchem.MolecularDiffusion.ReactionAqMolecularDiffusivityType
ReactionAqMolecularDiffusivity

Calculate molecular diffusivity (cm^s s-1) from :diffusivity_speciesname attributes of aqueous solution concentration Variables

A Variable <species>_moldiff is created for each <species>_conc Variable with non-empty :diffusivity_speciesname attribute.

:diffusivity_speciesname may either be a known species (in which case it is looked up in create_solute_diffusivity_func), or a constant value in cm^2 s-1 supplied as a String.

source